package com.xkl.springdoc.service;

import com.xkl.springdoc.common.R;
import com.xkl.springdoc.request.RoleDTO;
import com.xkl.springdoc.response.RoleVo;

import java.util.List;

/**
 * 角色管理
 *
 * @version: 1.0.0-SNAPSHOT
 * @author: 码农小卡拉
 * @createTime: 2025-09-17 11:22
 **/
public interface IRoleService {

    /**
     * 新增角色
     *
     * @param roleDTO 角色BO
     * @return 新增结果
     */
    public R addRole(RoleDTO roleDTO);

    /**
     * 更新角色
     *
     * @param roleDTO 角色BO
     * @return 更新结果
     */
    public R updateRole(RoleDTO roleDTO);

    /**
     * 删除角色
     *
     * @param id 角色ID
     * @return 删除结果
     */
    public R deleteRole(Long id);

    /**
     * 获取角色
     *
     * @param id 角色ID
     * @return 角色VO
     */
    public R getRole(Long id);

    /**
     * 获取角色列表
     *
     * @return 角色VO列表
     */
    public R<List<RoleVo>> getRoles();
}
